package cetb.domain;

import java.util.Date;
import java.util.Collection;


public class Order {

	/**
	 * @uml.property  name="orderID"
	 */
	private String orderID;

	/**
	 * Getter of the property <tt>orderID</tt>
	 * @return  Returns the orderID.
	 * @uml.property  name="orderID"
	 */
	public String getOrderID() {
		return orderID;
	}

	/**
	 * Setter of the property <tt>orderID</tt>
	 * @param orderID  The orderID to set.
	 * @uml.property  name="orderID"
	 */
	public void setOrderID(String orderID) {
		this.orderID = orderID;
	}

	/**
	 * @uml.property  name="timePlaced"
	 */
	private Date timePlaced;

	/**
	 * Getter of the property <tt>timePlaced</tt>
	 * @return  Returns the timePlaced.
	 * @uml.property  name="timePlaced"
	 */
	public Date getTimePlaced() {
		return timePlaced;
	}

	/**
	 * Setter of the property <tt>timePlaced</tt>
	 * @param timePlaced  The timePlaced to set.
	 * @uml.property  name="timePlaced"
	 */
	public void setTimePlaced(Date timePlaced) {
		this.timePlaced = timePlaced;
	}

	/**
	 * @uml.property  name="status"
	 */
	private String status;

	/**
	 * Getter of the property <tt>status</tt>
	 * @return  Returns the status.
	 * @uml.property  name="status"
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * Setter of the property <tt>status</tt>
	 * @param status  The status to set.
	 * @uml.property  name="status"
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * @uml.property  name="type"
	 */
	private String type;

	/**
	 * Getter of the property <tt>type</tt>
	 * @return  Returns the type.
	 * @uml.property  name="type"
	 */
	public String getType() {
		return type;
	}

	/**
	 * Setter of the property <tt>type</tt>
	 * @param type  The type to set.
	 * @uml.property  name="type"
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * @uml.property  name="note"
	 */
	private String note;

	/**
	 * Getter of the property <tt>note</tt>
	 * @return  Returns the note.
	 * @uml.property  name="note"
	 */
	public String getNote() {
		return note;
	}

	/**
	 * Setter of the property <tt>note</tt>
	 * @param note  The note to set.
	 * @uml.property  name="note"
	 */
	public void setNote(String note) {
		this.note = note;
	}

	/**
	 * @uml.property  name="collectionTime"
	 */
	private Date collectionTime;

	/**
	 * Getter of the property <tt>collectionTime</tt>
	 * @return  Returns the collectionTime.
	 * @uml.property  name="collectionTime"
	 */
	public Date getCollectionTime() {
		return collectionTime;
	}

	/**
	 * Setter of the property <tt>collectionTime</tt>
	 * @param collectionTime  The collectionTime to set.
	 * @uml.property  name="collectionTime"
	 */
	public void setCollectionTime(Date collectionTime) {
		this.collectionTime = collectionTime;
	}

	/**
	 * @uml.property  name="client"
	 * @uml.associationEnd  multiplicity="(1 1)" inverse="order:cetb.domain.Client"
	 */
	private Client client = new cetb.domain.Client();

	/**
	 * Getter of the property <tt>client</tt>
	 * @return  Returns the client.
	 * @uml.property  name="client"
	 */
	public Client getClient() {
		return client;
	}

	/**
	 * Setter of the property <tt>client</tt>
	 * @param client  The client to set.
	 * @uml.property  name="client"
	 */
	public void setClient(Client client) {
		this.client = client;
	}

	/**
	 * @uml.property  name="creditCard"
	 * @uml.associationEnd  inverse="order:cetb.domain.CreditCard"
	 */
	private CreditCard creditCard;

	/**
	 * Getter of the property <tt>creditCard</tt>
	 * @return  Returns the creditCard.
	 * @uml.property  name="creditCard"
	 */
	public CreditCard getCreditCard() {
		return creditCard;
	}

	/**
	 * Setter of the property <tt>creditCard</tt>
	 * @param creditCard  The creditCard to set.
	 * @uml.property  name="creditCard"
	 */
	public void setCreditCard(CreditCard creditCard) {
		this.creditCard = creditCard;
	}

	/** 
	 * @uml.property name="details"
	 * @uml.associationEnd multiplicity="(0 -1)" aggregation="composite" inverse="order:cetb.domain.Detail"
	 */
	private Collection<Detail> details;

	/** 
	 * Getter of the property <tt>details</tt>
	 * @return  Returns the details.
	 * @uml.property  name="details"
	 */
	public Collection<Detail> getDetails() {
		return details;
	}

	/** 
	 * Setter of the property <tt>details</tt>
	 * @param details  The details to set.
	 * @uml.property  name="details"
	 */
	public void setDetails(Collection<Detail> details) {
		this.details = details;
	}

}
